using System.Text.Json;
using System.Text.Json.Serialization;

namespace SB2.Core
{
    public class LongJsonConverter : JsonConverter<long>
    {
        public override long Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
        {
            // 这里做处理，前端传入的 long 类型可能为 string 类型，或者 number 类型
            return reader.TokenType == JsonTokenType.String
                    ? long.Parse(reader.GetString())
                    : reader.GetInt64();
        }
        public override void Write(Utf8JsonWriter writer, long value, JsonSerializerOptions options)
        {
            writer.WriteStringValue($"{value}");
        }
    }

}